内容管理模块需求分析
内容管理是知识付费管理后台最核心的模块。不同角色看到的内容存在差异,需要从多个角度分析同一功能:
| 角色 | 可见范围 | 核心操作 |
|---|---|---|
| 系统管理员 | 所有内容 | 审核、上架、删除、全面控制 |
| 运营者/管理者 | 用户创作的内容、课程审核 | 审核上架、内容运营 |
| 创作者 | 自己的课程和素材 | 上传、编辑、提交审核 |
| 普通用户 | 自己的学习情况和统计 | 学习、查看进度 |
内容管理功能拆分
内容管理需要拆分为以下几个子模块:
内容管理
├── 课程管理(创作者、运营者、管理员)
│ ├── 内容上传(图文/视频/音频)
│ ├── 课程编辑与发布
│ └── 课程状态管理
├── 课程分类管理
│ ├── 分类树维护
│ └── 分类关联课程
├── 课程附件管理
│ └── 附件上传与关联
├── 页面管理(管理员)
│ ├── 首页内容配置
│ └── 学习页面内容配置
└── 其他(扩展功能)
├── 学习管理
├── 学习计划
├── 练习题
├── 课程笔记
└── 每日一课
text
课程管理核心流程
课程管理以创作者为视角,核心围绕"内容上传"展开。内容以什么形式呈现是关键设计决策:
- 图文内容:富文本编辑器 + 图片上传
- 视频内容:大文件分片上传 + 转码处理
- 音频内容:音频文件上传 + 格式校验
页面管理的特殊设计
页面管理模块控制前台首页和学习页面的展示内容,原理是通过一个大的JSON配置来控制页面中关联的课程数据。前台页面的布局和功能基本固定,动态变化的只是JSON中配置的内容。
这种设计模式在很多平台中都有应用——例如慕课网首页的滚动Banner、推荐课程列表等,都是由后台的页面管理模块控制前台接口响应的数据。
页面基础结构设计
课程管理列表页
课程管理列表页的典型结构:
┌─────────────────────────────────────┐
│ 课程管理 [+ 新建] │ ← 页面标题 + 操作按钮
├─────────────────────────────────────┤
│ 分类筛选 │ 状态筛选 │ 搜索关键词 │ ← 筛选区域
├─────────────────────────────────────┤
│ 课程名称 │ 分类 │ 状态 │ 操作 │ ... │ ← 表格区域
│ ... │ ... │ ... │ 编辑 │ │
├─────────────────────────────────────┤
│ < 1 2 3 ... > │ ← 分页器
└─────────────────────────────────────┘
text
关键数据字段
课程管理涉及的主要字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| 课程名称 | string | 课程标题 |
| 课程分类 | relation | 关联分类表 |
| 课程状态 | enum | 草稿/待审核/已上架/已下架 |
| 封面图 | string | 课程封面URL |
| 价格 | number | 课程售价 |
| 创建者 | relation | 关联用户表 |
| 创建时间 | datetime | 创建时间戳 |
| 更新时间 | datetime | 最后更新时间 |
扩展功能方向
在核心内容管理基础上,可以根据平台运营需求逐步扩展:
- 每日一课:短小内容(短视频/图文),增加用户日常粘性
- 学习计划:将课程组合为学习路径
- 练习题:课程配套的练习功能
- 课程笔记:学员学习过程中的笔记记录
- 评论与讨论:已实现,无需重复设计
这些扩展功能在课程管理的核心设计思路清晰后,实现起来就是轻车熟路。
↑